package kr.salebeans.cm.process.customer;

import kr.salebeans.cm.customer.CustomerListRespDto;
import kr.salebeans.cm.customer.CustomerRegisterReqDto;
import kr.salebeans.cm.customer.CustomerRegisterRespDto;
import kr.salebeans.cm.customer.search.CustomerSearchCond;

public interface CustomerProcess {

    /**
     *======================================================
     * @method  : CustomerProcess - saveCustomer 
     * @author  : bgkang
     * @since   : 2012. 11. 11.
     * @return  : CustomerRegisterRespDto
     * @param reqParam
     * @return
     * @note    : 고객등록/수정
     *======================================================
     */
    public CustomerRegisterRespDto saveCustomer(CustomerRegisterReqDto reqParam);

    /**
     *======================================================
     * @method  : CustomerProcess - getCustomer 
     * @author  : bgkang
     * @since   : 2012. 11. 11.
     * @return  : CustomerRegisterRespDto
     * @param customerId
     * @return
     * @note    : 고객조회
     *======================================================
     */
    public CustomerRegisterRespDto getCustomer(long customerId);

    /**
     *======================================================
     * @method  : CustomerProcess - findCustomerList 
     * @author  : bgkang
     * @since   : 2012. 11. 11.
     * @return  : CustomerListRespDto
     * @param searchCond
     * @return
     * @note    : 고객목록조회
     *======================================================
     */
    public CustomerListRespDto findCustomerList(CustomerSearchCond searchCond);

}
